﻿<?php

		/*加载初始化文件*/
		 // include('init.php');


	/*
			表单提交类型为post的数据，储存在$_POST数组中，由于是点击登录时才链接数据库查询对比，
			所以当用户提交了数据，才进行判断，
			判断$_POST数组值是否为空，用empty（）函数，有值时返回false，没值时返回true；

	 */
	//echo $_SESSION['pin'];

	if(!empty($_POST['username'])){



		/*定义两个变量接住用户提交的用户名、密码*/
		$username = $_POST['username'];

		// 密码用md5（）函数加密
		$password = md5($_POST['password']);

		/*把提交的验证码转成小写*/
		$pin = strtolower($_POST['pin']);


		if($pin==$_SESSION['pin']){

		}else{
				echo '<script> alert("验证码错误");history.go(-1);</script>';die;
		}


		/*判断，当勾选记住我之后，给$password重新赋值避免重复加密导致密码不正确，判断cookie里储存的password有值且等于$_POST['password']
				的时候，就给$password重新赋值。

				if用两个条件是因为，当勾选并成功登录之后，将加密过后的password储存在cookie里，注销再次点击登录时，因为cookie[password]
			有值，会直接重新把cookie[password]的值赋给$password；而不是用户提交上来的$password，用户手动输入的密码不管正确与否都会成功登录首页；
			因此需要第二个条件，且用户提交上来的password == cookie里的password时，才能给$password重新赋值，如果不等于，就不重新赋值。

		*/
		if(!empty($_COOKIE['password'])&&$_POST['password']==$_COOKIE['password']){
			$password = $_COOKIE['password'];

		}




		// 定义$sql变量=sql查询语句，查询用户提交的资料是否存在数据库中，以用户名和密码同时存在为条件
		$sql ="select * from `admin` where `username`='$username' and `password`='$password'";

		/*执行sql语句，查询完毕返回结果集*/
		$result=mysqli_query($link,$sql);

		/*从结果集中取出真实数据，mysqli_fetch_assoc（）函数只能用于查询语句*/
		$date = mysqli_fetch_assoc($result);


		/*获取该用户的角色id*/
		$roles_id = $date['roles_id'];

		/*查询该用户的角色权限*/
		$sqla = "select `power` from `roles` where `id`=$roles_id";
		$rela = mysqli_query($link,$sqla);
		$power = mysqli_fetch_assoc($rela);

		/*将查询到权限转成数组存到session中*/

		$arr= explode(',',$power['power']);

		$_SESSION['power']=$arr;


		/*如果取出的真实数据$date有值，说明帐号密码正确，然后将用户提交的信息储存到session完成跨页面传递数据功能
			将用户信息存储到cookie完成记住我功能。
		*/
		if(!empty($date)){

			/*开启session临时储存用户信息，跨页面传递数据功能*/

			$_SESSION['username'] = $date;


			/*<--‘记住我功能’-->*/

			/*

			 判断‘记住我’是否勾选，通过判断checkbox提交到$_POST的值来判断，如果

			*/
			if(!empty($_POST['check'])){

						/*
							如果勾选把用户的帐号密码存储到cookie，
						 setcookie('下标','内容',生命周期)
			            	例子：
			                setcookie('username','steve',time()+3600*24*7);
		                */
						setcookie('username',$_POST["username"],time()+1000*24);
						setcookie('password',$password,time()+1000*24);

						}else{
							/*

								如果没有勾选
				                清空cookie
				                setcookie('username','',0);
				            */
							setcookie('username','',0);
							setcookie('password','',0);
						}
						if(!empty($_POST['auto'])){

						/*
							如果勾选把用户的帐号密码存储到cookie，
						 setcookie('下标','内容',生命周期)
			            	例子：
			                setcookie('username','steve',time()+3600*24*7);
		                */
						setcookie('auto',$_POST["auto"],time()+1000*24);

						}else{
							/*

								如果没有勾选
				                清空cookie
				                setcookie('username','',0);
				            */
							setcookie('auto','',0);

						}
						// print_r($_COOKIE['auto']);die;

						/*设置完cookie的时候，则需要设置对应标签的value值，当勾选之后，需要把存储在cookie里的帐号密码设置成为value值，
							如果cookie里没值就把value值设为空，chexcbox为默认勾选状态；
						*/

						/*跳转到主页*/
						 header('location:index.php?c=index&&a=index&&admin=1');
						// echo '<script> alert("登录成功");window.location.href="index.php";</script>';
		}else{

			/*否则提示登录失败，当前窗口跳转回登录页*/
			echo '<script> alert("登录失败，用户或者密码错误");history.go(-1);</script>';
		}


	}

	include(CON_VIEW.'admin/admin/login.html');

	// include(CON_VIEW.$q.'/'.$c.'/'.$a.'.html');



?>



